Weld bank data structures for welding applications

ABSTRACT

A data structure for weld programs associates configuration data for a welding system with a plurality of weld programs and weld sequence data. The data structure allows the welding system to be configured for a particular part, operator, or stage in a welding process, and to be easily reconfigured when the part, operator, or stage changes, providing improved efficiency and flexibility in operation.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of Ser. No. 13/023,096, filed Feb. 8,2011, and claims the benefit of U.S. Provisional Patent Application No.61/304,091, filed Feb. 12, 2010, and incorporated herein by reference.

FIELD OF THE INVENTION

The present invention is directed to a method and apparatus for managingdata in semi-automatic and automatic welding operations.

BACKGROUND OF THE INVENTION

In manufacturing facilities, welding processes are often performed bydifferent operators, using various kinds of equipment. Welds performedduring a particular step of a manufacturing process frequently include,for example, both hand-held welds and automatic welds performed by fixedautomatic and robotic systems. Many of these welding processes,particularly the automated processes, are controlled by individuals whoare not trained welders, but rather are trained simply to push a buttonto start a weld process. The weld is then performed by a robot, or byfixed automation positioning equipment. These processes are typicallyprogrammed by welding engineers, and stored in the welding equipment foruse by the operator to ensure the quality of the weld.

Other processes, particularly hand-held welding processes, require morehighly skilled individuals. These individuals often have specificpreferences regarding welding processes and parameters, and alsopersonal preferences as to how the welding system is configured. Theseindividuals, therefore, prefer to set up the equipment themselves, andto select their own processes and commands.

Throughout the course of a day, moreover, different shifts of operatorscan use the same welding equipment. These operators often perform weldson different parts and components. Different welding parameters,processes, and operator preferences, therefore, can be associated witheach shift, each operator, and each part that is welded in the facility,and at each work station.

In these environments, therefore, to maintain a high level ofefficiency, it is important for the welding equipment to be flexible, sothat equipment can be easily configured for different welding processes,operators, and parts. It is also important, however, for managementpersonnel to monitor and control the welding processes and parameters toensure consistent and proper joining of materials, to ensure thatcompleted welds fall within predetermined quality parameters, and toensure that material waste and operational downtime is avoided.

Present welding control systems often include a limited number of weldprocesses and programs, which are closely correlated to a weldsequencer. These systems, therefore, allow only a fixed number ofdifferent welding options in any given welding system. These systems,moreover, do not allow the welding system to be easily re-configured fordifferent stages of a weld process, or for different operators ordifferent parts. The present invention addresses these issues.

SUMMARY OF THE INVENTION

The present invention provides a data structure for storing weldconfiguration and sequence data for a welding system. The data structureincludes one or more welding “bank” that stores both a preferredconfiguration (e.g., semi-automatic, automatic, robotic) weld process orprogram data, and weld sequence data. By structuring the weld programand sequence data with a specific configuration, welding equipment canbe easily re-configured to accommodate specific parts, operators, andwelds. The data structure therefore provides a welding system which ismore flexible than prior art devices, and which allows a single piece ofequipment to be easily used for both hand-held and automatic weldingprocesses, minimizing capital investments required in weld cells.

In one aspect, the invention provides a data structure for storage in awelding system. The data structure comprises a weld configuration, whichdefines whether the system is a semi-automatic, automatic, or roboticwelding system, a weld process, which defines the type of weld processto be performed by the system, and a weld sequence defining at least oneof a time parameter and a welding process command parameter forcontrolling the weld process.

In another aspect of the invention, a welding system is providedcomprising a power supply, a wire feeder, a gas valve, a memorycomponent including a weld data structure defining a welding systemconfiguration, a weld process, and a weld sequence, and a controller.The controller is operatively coupled to each of the power supply, thewire feeder, and the gas valve, and is programmed to retrieve the datastructure from the memory, to configure the welding system based on thewelding system configuration, and to control the power supply, the wirefeeder, and the gas valve to provide the weld process with theparameters defined by the weld sequence.

In yet another aspect of the invention, a method for storing data isprovided. A welding system configuration is stored in a memory location,and at least one of a weld process program, a weld sequence, and anoperator limit is stored in a weld file, which can then be correlatedwith the welding system configuration in a weld bank. When a weld bankis selected, the welding system is configured as defined in the storedwelding system configuration (e.g. semi-automatic, automatic, robotic),and the corresponding weld files can be accessed to provide weld programand sequence data for performing a weld.

In another aspect of the invention, a method for storing welding data ina relational database is provided. The method includes the steps ofstoring a plurality of inter-related tables defining a weld processprogram, a plurality of inter-related tables defining a weld file, and aplurality of weld bank tables that link the weld programs and the weldfiles. The weld process programs include at least a weld process typeand a consumable type, and the weld files include a weld sequence andcorresponding weld command value data for each weld file. The weld banktables correlate the weld process programs and the weld files to providebanks of interrelated data that can be used to define a weld process forwelding a specific part, tailored for a specific operator, or tailed fora specific skill level.

In yet another aspect of the invention, a memory for storing data foraccess by an application program executed by a computerized weldingsystem is provided. The memory includes a weld bank data structurecorrelating a weld system configuration and a weld file, where the weldfile comprises a welding process program data structure and a weldsequence data structure defining at least one of a time parameter and awelding process command parameter. The application program is programmedto retrieve the weld bank data structure, configure the computerizedwelding system using the weld configuration, and to perform a weld usingdata stored in the welding process program and the weld sequence datastructures.

The weld system configuration selection can include data defining atleast one of a semi-automatic, automatic, and robotic weldingconfiguration for the computerized welding system; the welding processprogram can include data for defining at least one of a metal inert gas,pulsed metal inert gas, short circuit metal inert gas and a regulatedmetal deposition process performed by the computerized welding system.The welding process program can also include data defining at least oneof a wire type, a wire alloy, a material, a material thickness, and agas.

The weld sequence can include data for defining at least one of apre-flow period, a run-in time, an arc start, a weld start, a weld ramp,a weld, a crater fill, an arc stop, a burnback, and a post-flowsequence, and the the welding process command parameter can comprises atleast one of a voltage, a wire feed speed, and a trim command level forthe computerized welding system.

The weld configuration selection can includes an operator configuration,which can be at least one of a trigger hold selection and adual-schedule selection.

In some embodiments of the invention, the weld bank data structure caninclude a plurality of weld files, each of the weld files including awelding program selection and a weld sequence selection defining a weldin a series of welds to be performed to weld a defined part. The weldfiles can also each include an arc monitoring limit for determiningwhether a weld performed by the computerized welding system is within aselected parameter. The memory as recited in claim 10, wherein the arcmonitoring limit includes at least one of an actual weld voltage limit,an actual weld current limit, and an actual wire feed speed limit.

In another aspect of the invention, a computerized welding system isprovided including a power supply, a wire feeder, a gas valve, and amemory storing a weld bank data structure linking a weld systemconfiguration, a weld process program, and a weld sequence through arelational database. A controller is operatively coupled to each of thepower supply, the wire feeder, and the gas valve, the controller beingprogrammed to retrieve the data structure from the memory, configure thecomputerized welding system based on the weld system configuration data,and to control the power supply, the wire feeder, and the gas valve toprovide the weld process with the parameters defined by the weldsequence.

The controller can be further programmed to monitor the arc monitoringlimit while performing a weld; to provide an alert signal to an operatorwhen the arc monitoring limit is exceeded; or to store at least one of atime stamp, an operator identifier, and a weld parameter valuecorrelating with the selected arc monitoring limit in memory when thearc monitoring limit is exceeded.

The weld system configuration can include a selected weld filetransition identifier for transitioning between a selected weld file anda subsequent weld file, and the controller can be further programmed totransition from the currently operational weld file and a subsequentweld file when the identifier is activated. The computerized weldingsystem can also include a welding gun operatively connected to thecomputerized welding system, and the weld file transition identifier cancomprise releasing a trigger of the weld gun, or activating a trigger ofthe weld gun. Alternatively, the computerized welding system can includea dual schedule switch operatively connected to the computerized weldingsystem, which can provide a signal to identify when a transition betweenweld files is desired. The controller can be further programmed tocompare weld data acquired during a weld to stored weld data criteria,and to switch from a selected weld to a subsequently defined weld in asequence when the acquired weld data meets the stored weld datacriteria.

In still yet another aspect of the invention, a method for storingwelding data in a relational database in a memory readable by acomputerized welding system including an application program forexecuting a weld based on data retrieved from the relational database isprovided. The method includes storing a plurality of inter-relatedtables defining a weld process program including a weld process type,storing a plurality of inter-related tables defining a weld file, theweld file including a weld sequence and a weld process command, andstoring a plurality of weld bank tables, the weld bank tablescorrelating the weld process programs and the weld files to providebanks of interrelated data for defining weld process parameters for aweld application program to be executed by the computerized weldingsystem.

In some embodiments, the step of storing inter-related tables definingthe weld process program can further comprise storing a consumable type,storing a name of the weld bank in the memory, or naming the weld banktables to correspond the weld bank to at least one of a part, anoperator, a shift, or a welding skill level.

In other embodiments, the weld bank can be stored on a portable memorydevice, such as a universal serial bus flash drive.

These and other aspects of the invention will become apparent from thefollowing description. In the description, reference is made to theaccompanying drawings which form a part hereof, and in which there isshown a preferred embodiment of the invention. Such embodiment does notnecessarily represent the full scope of the invention and reference ismade therefore, to the claims herein for interpreting the scope of theinvention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a welding system capable of use in thepresent invention.

FIG. 2 is a block diagram of a memory component of the welding system ofFIG. 1.

FIG. 3 is a flow chart illustrating the steps for programming the datastructures stored in the memory component of FIG. 2.

FIGS. 4A-4C are a block diagram illustrating a memory data storage ofweld banks in a relational database.

DETAILED DESCRIPTION OF THE INVENTION

Referring now to the Figures and more particularly to FIG. 1, anexemplary welding system 10 for automatic and semi-automatic weldingthat can be used in accordance with the present invention is shown. Thewelding system 10 includes a welding power supply 12, a controller 16,and a communications system 30 for bi-directional communications withexternal components. The controller 16 of welding system 10 can furtherbe connected to external welding components including a wire feed system20, a gas valve 23, and, optionally, a coolant system 25.

Referring still to FIG. 1, the wire feed system 20 includes a motor 19that drives wire through drive rolls and a liner to a torch or gun 13including a contact tip. The gas valve 23 can be either an on/off valve,a metered valve controlled by controller 16, or can include a separateor integral flow meter. Similarly, when a coolant system is provided,the system can include an on/off or metered valve, and flow meteringdevices. The power supply 12 can be a constant voltage power supply or aconstant voltage/constant current power supply, and preferably includespulsing capabilities, as discussed more fully below.

Referring still to FIG. 1, the controller 16 can include one or moremicrocontroller, microprocessor, digital signal processor, or otherprogrammable controller, along with one or more internal or externalmemory component 18, capable of storing weld configuration data, weldingprograms and weld sequence data and procedures specified by the user, asdescribed more fully below.

Communications between the controller 16, operators, and externalcomponents can be provided through a user interface 32, thecommunications system 30, and input/output communications board 17. Theuser interface 32 can include a user display and input devices, such askeys, switches, joysticks, analog or digital potentiometers, or otherdevices to provide information to and receive information from anoperator or user of the welding system 10. The user interface can, forexample, be mounted in a housing 11 with the power supply 12 andcontroller 16, or be provided in a separate housing from the powersupply 12. Although shown connected to the controller 16 in FIG. 1, theuser interface 32 can be connected as a remote control 15 throughcommunications system 30.

The communications system 30 can include, for example, an embedded webserver 33, serial communication devices such as DeviceNet, Profibus,RS-232, wired or wireless network communication devices such as anEthernet, LAN, WAN, or other network, memory devices such as USB ports,and other communications systems. The communications system 30 can belinked to the components of a welding cell, including flexible or hardautomation components, such as a welding robot 21, a programmable logiccontroller (PLC) 27, and fixtures 29. Alternatively, or additionally,the external components can include one or more computer or computernetwork 31, or a series of networked welding systems 10. Thecommunications system may also be connected to external ports such asUniversal Serial Bus (USB) ports, which allow a user to upload anddownload data from the memory 18, and to store the data on portablememory devices such as a USB flash memory device.

Referring still to FIG. 1, an exemplary input/output board (I/O board)17, which provides connection points for external equipment to bothprovide input signals to the welding system 10 and to receive discreteoutputs from the welding system 10 is shown. The inputs and outputs caninclude, among other indicators, welding process state conditions anderror conditions. Common welding process state condition signals inputand output through the I/O board 17 can include, for example, triggeringsignals for triggering a welding sequence, contactor on (weld on), gasvalve on (purge), wire feed motor foreword (jog), wire feed motorreverse (retract), weld program selection, and touch sense detect.Common error conditions can include, for example, voltage sense error,arc start error, wire stick errors, motor over current errors, coolantflow errors, or gas flow errors. Analog input and output signals,including voltage command and feedback, wire feed command and feedback,and current feedback can also be provided on the I/O board 17. Weldingstate data, error data, feedback and command data can also betransmitted to and from the welding system 10 through communicationssystem 30 discussed above, and by access to a weld parameter library asdescribed above.

As described above, the welding system 10 can be configured fordifferent modes of operation, including semi-automatic, automatic, androbotic welding. Additional data for configuring the welding system canalso be selected to meet operational requirements or user preferences.For example, when a robotic configuration is selected, a specific robottype or manufacturer can also be specified. The robot type andmanufacturer can define, for example, which weld command signals areprovided by the robot, and which weld command signals are provided bythe controller 16 of welding system 10. Similar configuration selectionscould be provided for other fixed and flexible automation systems. Otheroperator configuration parameters, such as a trigger hold function forsemi-automatic applications in which the operator prefers not tomaintain control of the trigger, or a dual scheduling function, whichallows the user to activate a switch to select between stored weldingprograms, can also be selected. Although specific examples are givenhere, any configurable parameter that is set once for each correspondingweld bank 106 can be included as part of the configuration.

The mode of operation, and other configuration data can be, for example,selected by an operator through user interface 32, through an interfaceassociated with an externally connected device such as a robot 21 or PLC27, or from an external device through communications interface 30, orthrough activation of one or more input in I/O board 17. Theconfiguration data can be stored in memory 18, as discussed below.

Referring still to FIG. 1, external devices, such as a handheld gun ortorch or other device with a trigger switch, a robot controllerassociated with robot 21, PLC 27, or a remote system and display such asan externally connected PC, can provide a signal to the controller 16 ofthe welding system 10 to start a weld. The weld parameter commands canbe retrieved from memory 18, or be provided from the robot 21, PLC 27,or other external device through communications system 30, or selectedat the user interface 32. As described below with reference to FIG. 2,system configuration, weld process, and weld sequence data is preferablystored in a weld bank data structure, which provides a highly flexiblestructure for storing weld data, and further provides a means for easilyswitching between various user configurations.

Referring still to FIG. 1, the welding system 10 is connected to aninput power supply line 15, typically a three phase supply, whichprovides power both for the control circuitry and for the power supply12. Voltage and current sensors (not shown) can be provided on the inputpower supply line to allow the power supply to be monitored, typicallyby controller 16. The welding power supply 12 is preferably an inverterpower supply, and, as described above, can be a constant voltage powersupply or a constant voltage/constant current power supply, andpreferably includes pulsing capabilities, providing the ability toperform MIG(GMAW) welding, pulsed MIG (GMAW P) and flux-cored (FCAW)welding. Processes available can also include spray MIG, short circuitMIG, and Regulated Metal Deposition (RMD).

Referring now to FIG. 2, a block diagram schematically illustratingportions of the memory 18 is shown, including a weld data structure 105comprising a plurality of substructures arranged in individual weldbanks 106, 107, 109, 111, etc. Each weld bank 106 stores a userconfiguration 108 which, as described above, includes data or commandsfor configuring the welding system for automatic operation,semiautomatic operation, or a robotic operation. The user configurationdata can also include operator configuration preferences, such as atrigger hold, and a dual scheduling configuration. Additionally, theconfiguration data can include data specifying corresponding automaticequipment, such as a type or manufacturer of a robot, as discussedabove. Remote program select, trigger input options, and criteria foridentifying when to switch between a currently welded weld file and asubsequent weld file in a sequence can also be stored as part of theconfiguration, as discussed more fully below with reference to FIG. 4.Identifiers for identifying when to switch between weld files in adefined sequence can include, for example, when a trigger of gun 13 iseither activated or released, input from a dual schedule switch, or whenthe controller 16 determines that predetermined stored weld criteria ortime frames have been reached. As discussed above, any parameter forconfiguring the system specifically for a given bank, and that isactivated upon switching on or between weld files can be included aspart of the configuration.

Referring still to FIG. 2, each weld bank 106 further includes one ormore weld file 110, 112, 114, 116, etc. Each of the weld files 110-116is associated with a selected weld process or program 104. The weldprocess or program data 104 can include a predefined weld process typesuch as spray MIG, pulsed MIG, short circuit MIG, and Regulated MetalDeposition (RMD), and can also include specific weld parameters selectedto optimize the weld for selected material types and/or thicknesses,shielding gas, wire and other material parameters. The weld programs orprocesses can be “canned” programs stored in a separate memory locationin memory 18, and moved into or correlated with the individual weldbanks 106 and weld files 110, 112, 114, and 116. In other applications,the weld programs and processes could be customized and stored in memory18 or with a specific weld bank 106 along with the other data.Typically, in this type of application, changes to the weld processprograms would be protected by password or other security devices andwould be accessible only to welding engineers or other skilledpersonnel. For example, a specific pulse program could be provided in aweld bank 106 which would be accessible for use only when weld bank 106is active. Similarly, a specific weld process program could be stored ina specific weld file 110.

Referring still to FIG. 2, each weld file 110, 112, 114, 116 in weldbank 106 can also include weld sequence data 103. An exemplary weldsequence can include, for example, a pre-flow period, run-in time, arcstart, weld start, weld ramp, weld, crater fill, arc stop, burnback, andpost-flow. The pre-flow and post-flow periods are typically timedperiods of gas flow, although in some applications these applicationsmay also be associated with a gas flow level. Run-in, arc start, weldstart, weld ramp, weld and crater periods can include both a timeparameter and weld command parameters, such as specific voltage, wirefeed speed, and trim levels. The sequence times and weld command levelsfor each sequence parameter can be specified by the operator in the weldfile 110. Various other types of parameters, including a ramp of thewire feed speed during run-in, can also be specified. Preferably,default parameters will be stored in memory 18 and associated withspecific programs or processes 104, which can then be changed oradjusted by the operator. Weld sequence stages can be stored in memory18 and then correlated with specific weld files 110, 112, 114, 116 andcorrelated with weld programs 104.

Referring still to FIG. 2, in addition to the weld program 104 and weldsequence 103 data, operator limits and arc data monitoring parameterscan also be specified and stored in the weld bank 106. The operatorlimits, for example, can provide a range of acceptable weld commandparameters, such as a maximum and/or minimum voltage and a maximumand/or minimum wire feed speed that can be provided by the weld operatorduring a weld. The arc data monitoring parameters can, for example,specify which of a plurality of available welding parameters to monitor(volts, wire feed speed, current), provide a range of acceptable valuesfor the monitored parameters, and be used to prompt an alarm (e.g. avisual display such as a light, or an audio alarm) to the weld operatorwhen the acceptable range is exceeded. Alternatively, or in addition tothe alarm, out-of-range values can be stored in memory 18 with, forexample, a time stamp and/or operator identifier for quality control oroperator training. Out of range values and corresponding identifiers canalso be transmitted to an external device.

Figures or drawings, such as CAD drawings of specific parts can also bestored in the weld bank 106, the weld file 110, or both. For example, aCAD file stored with the weld bank 106 could provide a drawing and weldparameter data for a series of welds for a part that is intended to bewelded using the weld files stored in the weld bank 106. Each of theseries of welds could correspond to a specific weld file. Alternatively,each weld file 110 could be correlated with a specific part, and a CADdrawing corresponding to the part can be associated with each file.

Although weld banks 106 could be stored with default names such as thoseshown in FIG. 2 (weld bank 1, weld bank 2, etc.), preferably theoperator will assign an alpha-numeric name or designator to the weldbanks 106, and also to the specific weld files 110, 112, 114, 116.Again, data for naming the specific banks can be provided through userinterface 32, through communications device 30, e.g. from a networkedcomputer, or from other external devices or memory storage components.The weld banks 106 and weld files 110 can be named for specific parts,operators, or shifts to simplify locating the appropriate files. Forexample, one weld bank 106 could be a “night shift” bank that includesweld files for parts that are welded during this shift. Alternatively, aweld bank could be named “John Smith” and contain configuration and weldpreferences for operator John Smith. Weld banks 106 could, similarly, benamed for various automatic, semi-automatic, and robotic applications.Weld banks could also be named based on experience levels of the weldoperator, e.g. beginner, experienced, expert. The weld files 110 canalso be assigned specific names. For example, the John Smith bank couldinclude weld files 110 designated for specific parts, e.g. “seat” or“handle”. As described above, these files could be correlated with CADdrawings of the specific parts.

The active weld bank 106 and weld file 110 can be selected through auser input device 101, which can be user interface 32, or a userinterface associated with a remote computer 31, handheld control 15, PLC27, robot 21 or network welder 10. In other applications, the activeweld bank might also be selected by communications from an externaldevice through communications system 30, or uploaded from externalmemory storage or other devices connected to the controller throughcommunications system 30. In other applications, discrete digital logicsignals could be provided, for example, through I/O board 17. Variousother types of communication signals for selecting a weld bank 106 andweld file 110, 112, 114, or 116 will be apparent to those of ordinaryskill in the art.

Referring again to FIG. 2, the active weld bank 106 and/or weld file 110can be correlated with a specific input device or action. Here, forexample, the memory 18 can include a look-up table or other datastructure correlating selected weld banks 106 and/or specific weld files110 within the weld banks 106 with on/off or other inputs from internalor external devices. A weld bank and/or weld file 110 can be associated,for example, with a particular trigger input. For example, if a triggerinput is received from a robot or other known automated device, a weldbank 106 configured for automatic operation, and a corresponding weldfile 110, could be selected. Alternatively, when a trigger is receivedfrom a semi-automatic gun, a weld bank 107 configured for semi-automaticoperation could be selected for operation, along with a weld file 110corresponding to the selected bank. The input data identifying thetrigger could be a single on/off digital input provided through I/Oboard 17, a combination of digital input signals, or be provided byserial communications through an input device such as communicationssystem 30.

In a specific example, a welding process for a part could involve twostages: a first stage in which two components are tacked together, and asecond stage in which the components are welded along seams. In thetacking stage, a hand-held gun is used. For this operation, a first weldbank 106 storing a configuration for semi-automatic welding would beselected when the trigger signal is received from the hand-held gun,along with a weld file 110 providing appropriate parameters for the tackweld. In the second stage a fixed or flexible automation system can beused to perform the weld. Here, after the tacking procedure iscompleted, a trigger signal from the automated equipment can be used asa signal to switch to a second weld bank 107 configured for automaticwelding. As discussed above, the weld bank 107 can be correlated withone or more weld files 110, 112, 114, 116. After a weld bank 107 isselected, any of the weld files in the weld bank 107 can be accessed toperform a weld. For example, each weld file 110, 112, 114, 116 canrepresent a weld segment in a series of welds performed to weld thepart. The specific weld file, again, can be selected through a userinterface 32, through communications device 130, selected by activatingand de-activating signals at the I/O board 17, or in other ways whichwill be apparent to those of skill in the art.

In another example, weld banks 106 or weld files 110 within a weld bank106 can be corresponded with operator identifiers, such as fingerprints, or retinal scans; or with electronic identifiers such as RFIDtags, magnetic strips, USB flash drive or key, or other devices. Here,when a weld operator begins a shift, the operator presents an identifierfor scanning or verification and the controller selects the appropriateweld bank 106 and/or weld file 110 based on a comparison of the receivedidentifier to stored data.

In another example, weld banks 106 and/or weld files 110 could beswitched automatically based on time or other factors. For example, theactive weld bank 106 or weld file 110 could be switched when the shiftchanges, based on data acquired by monitoring of internal clocks.Various other methods for identifying a weld bank 106 for use, and forswitching between weld banks 106, 107, 109, 111, will be apparent tothose of ordinary skill in the art.

Referring now to FIG. 3, a flow chart is shown illustrating one methodfor programming weld banks 106 in the data structure 105. Here, the userinitially accesses the memory 18 through, for example, the userinterface 32 or the communications interface 30 and selects a particularweld bank 106 for programming in step 113. In step 117, the user selectsa configuration from a number of stored configuration options 100 inmemory 18. The selected configuration is then stored in the weld bank106 to provide system configuration information for each weld associatedwith the weld bank 106. In process step 119, the user can then select aweld file 110 to be correlated with the selected weld bank 106. If theuser chooses not to define a weld file 110 at this time, the user can,at decision block 115, either return to step 113 to designate a secondweld bank 106, or complete the programming process.

If the user chooses to program a weld file 110, the user selects a weldprocess program from those stored in the weld process programs 104 ofFIG. 2 as described above, by identifying a process step (MIG, PulseMIG, RMD), or by entering weld material parameters such as material,gas, and thickness, which can provide a menu of selections for a user oridentify a particular process. Once a process is selected, the user candefine parameters for a weld sequence in step 120, such as, for example,pre-flow and post-flow times; weld voltage and wire feed speedparameters, and other command variables, which can be stored in the weldfile 110. After the weld sequence 103 is defined, the user proceeds toprocess block 121, which allows the user to enter additional optionaldata into the weld files, such as operator limits, arc data monitoringparameters, or drawing files, as discussed above. After these optionalfeatures are added, or if the user chooses not to add any optionalfeatures, the process moves to decision box 122 which allows the user tospecify another weld file associated with this bank. If the user choosesnot to enter additional files, the user is returned to decision block115 where the process of programming the weld bank 106 can be completedat step 124, or the user can select and designate additional weld banksas shown in step 113. The weld banks 106 and associated weld files canbe named by the user, either as entered, or after the process iscomplete. Similarly, the user can be prompted to correlate the specificweld banks with particular operators, trigger inputs, or otherparameters as described above.

After the data is entered, the weld data structure 105 can include anumber of weld banks 106 and corresponding weld files 110, 112, 114,116. By way of example, an exemplary set of weld process programs 104could include the following:

Program 1: Carbon Arc Gauge Program 2: MIG, Wire (Steel 0.045 inch E70),Gas (90% Argon, 10% CO2) Program 3: Process (Pulse), Wire (Steel 0.045inch E70), Gas (90% Argon, 10% CO2) Program 4: Process (Accupulse), Wire(Steel 0.045 inch E70), Gas (90% Argon, 10% CO2)

With these weld programs, exemplary weld banks for two operators, Frankand Nick, could be configured as follows:

Weld Bank1:

-   -   Identifier/Name: Frank    -   Configuration: Semiautomatic 450, Trigger program select On,        Trigger hold is ON, Arc Start Error is On    -   Weld File 1:        -   Weld Process Program 4        -   Weld Sequence Data: Preflow(0.5 seconds), Start Weld(1            second, 200 ipm, 50 trim, 25 sharp Arc), Weld (350 ipm, 50            trim, 23 Sharp Arc)    -   Weld File 2:        -   Weld Process Program 4        -   Weld Sequence Data: Weld (425 ipm, 50 trim, 25 Sharp Arc)    -   Weld File 3:        -   Weld Process Program 2        -   Weld Sequence: Weld (350 ipm, 22.5 volts, 60 Inductance)    -   Weld File 4:        -   Weld Process Program 4        -   Weld Sequence: Preflow(0.5 seconds), Start Weld(0.5 seconds,            200 ipm, 50 trim, 25 sharp Arc), Weld(500 ipm, 50 trim, 23            Sharp Arc), Crater (0.75 seconds, 150 ipm, 50 trim, 25 sharp            Arc)

Weld Bank 2:

-   -   Identifier/Name: Nick    -   Configuration:        -   Semiautomatic 450    -   Weld File 1:        -   Weld Process Program 3        -   Weld Sequence: Start Weld(0.6 seconds, 200 ipm, 50 trim, 25            sharp Arc), Weld(380 ipm, 50 trim, 25 Sharp Arc)    -   Weld File 2:        -   Weld Process Program 3        -   Weld Sequence: Weld (425 ipm, 50 trim, 25 Sharp Arc)    -   Weld File 3        -   Weld Process Program 2        -   Weld Sequence: Weld (300 ipm, 50 trim, 25 Sharp Arc)    -   Weld File 4        -   Weld Process Program 3        -   Weld Sequence: Preflow(0.5 seconds), Start Weld(0.5 seconds,            200 ipm, 50 trim, 25 sharp Arc), Weld(500 ipm, 50 trim, 23            Sharp Arc), Crater (0.75 seconds, 150 ipm, 50 trim, 25 sharp            Arc)

In this example: Nick and Frank are two operators who weld the samepart. The part has 4 welds, and therefore 4 weld files. Nick and Frankeach have set up their own weld banks to optimize the settings andconfigurations for their own maximum performance, skill level andpreferences. Here, for example, Frank prefers that the trigger programselect configuration selection be On, that the trigger hold beactivated, and that an arc start error be activated. Nick prefers a moresimple semi-automatic configuration. Each operator has selecteddifferent weld programs and parameters for welding the part. Althoughnot shown here, as described above, operator limits, arc data monitoringparameters, and CAD drawings could also be associated with the weldbanks and/or weld files.

Referring again to FIG. 1, in operation, when the controller 16 receivesa trigger signal to start a weld as described above, the controlleridentifies the selected weld bank 106 and weld file 110, and retrievesthe stored weld data from memory 18. Based on the weld sequence datastored in the selected weld file 110, the controller 16 activates thegas, wire feed, and contactor controls, commanding the gas valve 23 toprovide shielding gas, the wire feed system 20 to drive filler metalfrom the motor 19 to a contact tip in gun or torch 13, and the powersupply 12 to provide welding current and voltage to start an arc at thework piece 14. Command levels for controlling the weld can be retrievedfrom the weld file 110 in memory 18, or in some applications, bereceived from the external components, such as robot 21 and PLC 27, orother controllers or computers as discussed above, either in the form ofanalog or digital control signals.

During operation, the controller 16 receives feedback from a voltagesensor 26, a current sensor 28, and a wire feed speed sensor ortachometer 24, and can also optionally monitor gas flow through a gasflow sensor associated with the gas valve 23, and coolant flow incoolant system 25. The feedback data is used by the controller 16 tocontrol the power supply 12, wire feed system 20, and gas valve 23.Additional feedback data can also be provided from external components.This data can include, for example, travel speed of the torch, proximitysensor input data, clamp closure data, and other data. The controller 16can also monitor input voltage and current levels from input powerlines, and provide feedback data relate to these values, as well asaverage motor voltage and current values.

Referring now to FIGS. 4A-4C, in one implementation of the presentinvention, the memory 18 is constructed to include a relationaldatabase. Here, the data structures for storing the weld banks 106, weldfiles 110, weld programs 104, and weld sequence 103 each include one ormore tables which are interconnected to provide a high degree offlexibility. As shown, the weld banks 106 correlate weld programs 104with specific weld files 110 and sequences 103. A system change table131 stores time stamp 136 and author 138 parameters to provide trackingdata for arc data monitoring and weld program 104 identification, asdiscussed below.

Referring still to FIGS. 4A-4C, the weld programs 104 are comprised of aplurality of tables which identify weld process (MIG, Pulsed MIG, etc,)as well as consumable data for a specific program, such as wireparameters (size, type, alloy), and gas type. Arc start and re-ignitionparameters, for starting (arc ignition) or restarting (restrike) an arc,particularly during pulsing processes, can also be associated with theweld program 104. Each weld program can also include a plurality ofteach points, which store taught process data. System data, such asauthors and dates, can also be correlated with the programs 104. Thetables forming the weld programs 104, as shown, are correlated withtables corresponding to the weld banks 106, and the weld files 110, asdiscussed above.

Referring still to FIGS. 4A-4C, the weld banks 106 correlate theprograms 104 with weld files 110. Each weld bank 106 can also becorrelated with a weld bank configuration identifier table 108 whichdefines the configuration of the welding equipment for the selected bank106. As shown here, the bank configuration identifier table 108 caninclude a welding unit type (automatic, semi-automatic, robotic; and acorrelating amperage level, e.g. 350 or 450), an erroractivation/deactivation select (to activate or deactivate errors such asarc start, wire stick, low spool warning, gas flow, etc.), and remoteprogram select activate/deactivate, which can operate with the weldconfiguration table 140 in the weld file 110, as described below todefine a specific type of program select configuration for a weld file110. Other configuration parameters, such as parameters that definewhich of two possible gun triggers are active for the corresponding bank106 in a dual wire feeder mode, and front panel control on/off, can alsobe provided. Configuration parameters can also establish criteria forswitching between weld files. For example, the configuration data mayspecify to switch from one weld file to another when a trigger is eitherpulled or released, or when a predetermined time period is reached. Adual switch or other switching device can also be identified in theconfiguration data to switch between welds. Although a specific set ofconfiguration parameters are shown here, in general, any parameter thatis set once for each weld bank 106 can be associated with the bankconfiguration identifier table 108.

As described above, the weld files 110 are correlated with a pluralityof welds, which in turn are correlated with a weld sequence 103 thatdefines parameters such as voltage, wire feed speed, and inductance foreach of the weld sequence states. As shown here the series of welds(Weld1ID, Weld2ID, etc.) associated with each weld file 104 arecorrelated with a weld program 104 through the weld bank 106,particularly the bank combo table. Each weld file 110 can also include aweld configuration 140. The weld configuration 140 can, for example,define input signals for selecting which of the plurality of welds toactivate. A dual schedule configuration, for example, can define twospecific welds to be selectively activated by a dual schedule switch.Other forms of program selection, for example, trigger-activated dualschedule, or program select I/O, can also be established and correlatedwith the selected welds.

To provide monitoring data for welding operations, the weld bank 106 isassociated with a bank arc data monitor table 130, and the weld files110 are associated with a weld arc data monitor table 132, each of whichlog data and correlate the data with a system time stamp 136. As shownhere, the bank arc data monitor table 130 monitors parameters such asweld time, wire usage, and errors that occur for a specific part, whilethe weld arc data monitor table 132 includes data such as voltage, wirefeed speed, and current levels for specific welds, along with errorinformation and arc error counts. An error log 134 can also be providedto correlate errors with both bank identification data and weldidentification data, and corresponding time stamps 136.

The present invention therefore provides a significant advantage overprior art systems by providing a highly flexible data storage system,which allows a high level of customization for end users. The inventionalso increases efficiency by optimizing capital equipment, allowing thesame piece of welding equipment to be easily reconfigured betweenhand-held and automated equipment, and limiting the need for multipletypes of welding systems. By providing both hand held and automaticwelding in a single device, moreover, the footprint of each automaticwelding cell can be reduced, saving space in the manufacturing facility.Further, because welds performed can be easily tied to specificoperators and parts, quality control monitoring, based either onspecific welded parts or operators, can be simplified.

It should be understood that the methods and apparatuses described aboveare only exemplary and do not limit the scope of the invention, and thatvarious modifications could be made by those skilled in the art thatwould fall under the scope of the invention. For example, although anexemplary welding system is described above, this welding system isshown by way of example only, and is not intended to limit theinvention. The data structures described above can be used in manydifferent types of welding systems, constructed in various ways.Furthermore, while specific controllers are described above, thesedescriptions are intended to describe functional aspects, and are notintended to limit the scope of the invention. Various hardware andsoftware configurations can be used, and any number of processingdevices can be used to provide the functions described. These devicescan be provided in a single housing or distributed in multiple housingsand locations.

Furthermore, while a specific set of programming steps are describedabove for establishing the weld banks data structure, it will beapparent that these steps are exemplary only and the order and type ofsteps taken could be varied. The schematics illustrating the memory arealso provided by way of example, and are not intended to limit theinvention.

Furthermore, although a housing is shown in FIG. 1 including severalcomponents of the welding system 10, the communications devices,interfaces, controllers, and power source shown can be arranged inhousings in various ways. For example, in some applications it isdesirable for user interfaces and communications systems to be providedin remote devices. In other applications, these devices can be providedin the housing with power supply 12. In some applications it may bedesirable for interfaces to be provided both within and remote to thepower supply. Various methods of arranging these components will beapparent to those of ordinary skill in the art.

To apprise the public of the scope of this invention, the followingclaims are made:

1-20. (canceled)
 21. An automatic or semi-automatic welding system,comprising: a power supply; a non-transitory memory storing: a weldprocess program, the weld process program comprising a programmaticprocess for completing a particular type of weld or type of part, one ormore weld files defining two or more welds of the weld process program,and a weld file transition indicator defining a transition between afirst weld of the one or more welds and second weld of the one or morewelds; and a controller operatively coupled to the power supply, thenon-transitory memory, and an external welding component, the controllerbeing programmed to: retrieve the weld process program from the memory,and control the power supply or external welding component to providethe programmatic process defined by the weld process program.
 22. Thewelding system of claim 21, wherein the memory further stores a weldbank comprising a weld system configuration, the weld systemconfiguration comprising the weld file transition indicator.
 23. Thewelding system of claim 22, wherein the weld bank correlates the weldprocess program, the one or more weld files, and the weld systemconfiguration.
 24. The welding system of claim 22, wherein the memoryfurther stores a drawing or weld parameter data corresponding to theparticular type of weld or type of part, and associates the drawing orweld parameter data with the one or more weld files or weld bank. 25.The system of claim 22, wherein the weld process program, one or moreweld files, or weld bank comprises a plurality of inter-related tables.26. The system of claim 21, wherein the one or more weld files comprisea first weld file defining the first weld and a second weld filedefining the second weld.
 27. The system of claim 26, wherein the firstweld comprises a first weld sequence of the first weld file and thesecond weld comprises a second weld sequence of the second weld file.28. The system of claim 21, wherein the first weld comprises asemi-automatic weld, the second weld comprises an automatic weld, andthe weld file transition indicator defines the transition to be inresponse to receipt of a trigger signal from the external weldingcomponent.
 29. The system of claim 21, wherein the controller isprogrammed to access the weld process program in response to a selectionof the type of weld or type of part.
 30. The system of claim 29, whereinthe selection is received via a web server or communication network. 31.A method of automatic or semi-automatic welding, comprising: storing aweld process program in a non-transitory memory, the weld processprogram comprising a programmatic process for completing a particulartype of weld or type of part; storing, in the non-transitory memory, oneor more weld files defining two or more welds of the weld processprogram; storing a weld file transition indicator defining a transitionbetween a first weld of the one or more welds and second weld of the oneor more welds; accessing the weld process program in response toselection of the type of weld or type of part; and controlling weldingequipment to provide the programmatic process defined by the weldprocess program.
 32. The method of claim 31, further comprising storinga weld bank comprising a weld system configuration, the weld systemconfiguration comprising the weld file transition indicator,
 33. Themethod of claim 32, wherein the weld bank further correlates the weldprocess program, the one or more weld files, and the weld systemconfiguration.
 34. The method of claim 32, further comprising storing adrawing or weld parameter data corresponding to the particular type ofweld or type of part and associating the drawing or weld parameter datawith the one or more weld files or the weld bank.
 35. The method ofclaim 32, wherein the weld process program, one or more weld files, orweld bank comprises a plurality of inter-related tables.
 36. The methodof claim 31, wherein the one or more weld files comprise a first weldfile defining the first weld and a second weld file defining the secondweld.
 37. The method of claim 36, wherein the first weld comprises afirst weld sequence of the first weld file and the second weld comprisesa second weld sequence of the second weld file.
 38. The method of claim31, wherein the first weld comprises a semi-automatic weld, the secondweld comprises an automatic weld, and the weld file transition indicatordefines the transition to be in response to receipt of a trigger signalfrom a semi-automatic welding gun or an automated welding equipment. 39.The method of claim 31, wherein the selection of the type of weld ortype of part is received via a web server or communication network. 40.The method of claim 31, wherein the welding equipment comprises awelding power supply.